package com.dwjm.exam.admin;

import java.util.Date;
import java.util.List;

public interface AdminDao {
    /**
     * 管理员登录
     * @param username 用户名
     * @param password 密码
     * @return 管理员对象，登录失败返回null
     */
    Admin login(String username, String password);
    
    /**
     * 更新最后登录时间
     * @param adminId 管理员ID
     * @param lastLoginTime 最后登录时间
     * @return 更新是否成功
     */
    boolean updateLastLoginTime(int adminId, Date lastLoginTime);
    
    /**
     * 获取所有管理员列表
     * @return 管理员列表
     */
    List<Admin> getAllAdmins();
    
    /**
     * 根据ID获取管理员
     * @param adminId 管理员ID
     * @return 管理员对象
     */
    Admin getAdminById(int adminId);
    
    /**
     * 添加管理员
     * @param admin 管理员对象
     * @return 添加结果 >0表示成功，-1表示用户名已存在
     */
    int addAdmin(Admin admin);
    
    /**
     * 更新管理员信息
     * @param admin 管理员对象
     * @return 更新是否成功
     */
    boolean updateAdmin(Admin admin);
    
    /**
     * 删除管理员
     * @param adminId 管理员ID
     * @return 删除是否成功
     */
    boolean deleteAdmin(int adminId);
} 